home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- set -e
-
- rm_conffile() {
- CONFFILE="$1"
- if [ -e "$CONFFILE" ]; then
- md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
- old_md5sum="`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $CONFFILE'{s/.* //;p}}\" /var/lib/dpkg/status`"
- if [ "$md5sum" != "$old_md5sum" ]; then
- echo "Obsolete conffile $CONFFILE has been modified by you."
- echo "Saving as $CONFFILE.dpkg-bak ..."
- mv -f "$CONFFILE" "$CONFFILE".bak
- else
- echo "Removing obsolete conffile $CONFFILE ..."
- rm -f "$CONFFILE"
- fi
- fi
- }
-
- mv_conffile() {
- OLD="$1"
- NEW="$2"
- if [ -e "$OLD" ]; then
- md5sum="`md5sum \"$OLD\" | sed -e \"s/ .*//\"`"
- old_md5sum="`dpkg -s dhcdbd | sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $OLD'{s/.* //;p}}\"`"
- if [ "$md5sum" = "$old_md5sum" ]; then
- mv -f "$OLD" "$OLD.moved-by-preinst"
- else
- mv -f "$OLD" "$NEW"
- fi
- fi
- }
-
- case "$1" in
- install|upgrade)
- if dpkg --compare-versions "$2" le "0.5.2-1"; then
- rm_conffile "/etc/hal/fdi/preferences.fdi"
- rm_conffile "/etc/dev.d/block/hal-unmount.dev"
- fi
- if dpkg --compare-versions "$2" le "0.5.6-2"; then
- rm_conffile "/etc/udev/scripts/device-removable.sh"
- fi
- if dpkg --compare-versions "$2" le "0.5.6-4"; then
- rm_conffile "/etc/hal/fdi/preferences.fdi"
- fi
- if dpkg --compare-versions "$2" le "0.5.7-2"; then
- rm_conffile "/etc/udev/rules.d/90-hal.rules"
- fi
- if dpkg --compare-versions "$2" le "0.5.7.1-1"; then
- deluser --quiet --system hal > /dev/null || true
- fi
- if dpkg --compare-versions "$2" le "0.5.8.1-3ubuntu7"; then
- mv_conffile /etc/udev/rules.d/85-hal.rules /etc/udev/rules.d/95-hal.rules
- fi
- esac
-
-
- if [ "$1" = "upgrade" ]; then
- if [ -x /etc/dbus-1/event.d/20hal ]; then
- /etc/dbus-1/event.d/20hal stop
- else
- # Really old version of hal have the dbus init script in another location
- # Fallback to manual..
- start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/hald
- fi
- fi
-
- if [ -f /etc/dbus-1/event.d/hal ]; then
- mv /etc/dbus-1/event.d/hal /etc/dbus-1/event.d/20hal
- fi
-
-
-